const Rx = require('rxjs')

// ```js
// function foo() {
//   console.log('Hello');
//   return 42;
//   return 100; // 死代码，永远不会执行
// }
// ```

const observable = new Rx.Observable(function(observer) {
	console.log('helo')
	observer.next(42)
	observer.next(100)
	setTimeout(() => {
		observer.next(300)
	}, 1e3)
})
console.log('before')
observable.subscribe(function(x) {
	console.log(x)
})
console.log('--------')
observable.subscribe(function(x) {
	console.log(x)
})
console.log('after')

// 函数永远不能返回多次
// func.call() 同步地给我一个值。
// observable.subscribe() 意思是 "给我任意数量的值，无论是同步还是异步"

